Advanced Debugging
About AdvDbg Consult Train Services Products Tools Community Contact  
欢迎光临 高端调试 登录 | 注册 | FAQ
 
  ACPI调试
Linux内核调试
Windows内核调试
 
  调试战役
调试原理
新工具观察
 
  Linux
Windows Vista
Windows
 
  Linux驱动
WDF
WDM
 
  PCI Express
PCI/PCI-X
USB
无线通信协议
 
  64位CPU
ARM
IA-32
  CPU Info Center
 
  ACPI标准
系统认证
Desktop
服务器
 
  Embedded Linux
嵌入式开发工具
VxWorks
WinCE
嵌入式Windows
 
  格蠹调试套件(GDK)
  格蠹学院
  小朱书店
  老雷的微博
  《软件调试》
  《格蠹汇编》
  《软件调试(第二版)》
沪ICP备11027180号-1

WinDbg

帖子发起人: cym_zl@yeah.net   发起时间: 2012-09-14 14:30 下午   回复: 2

Print Search
帖子排序:    
   2012-09-14, 14:30 下午
cym_zl@yeah.net 离线,最后访问时间: 2019/4/9 9:00:05 cym_zl@yeah.net

发帖数前100位
注册: 2010-11-14
发 贴: 12
奇怪的字符串比较命令$spat
Reply Quote

在调试一个程序,使用RegQueryValueEx Api读取注册表数据中遇到一个奇怪的问题,用$spat指令比较数据时总是返回False.

在windbg调试器中执行如下命令,在RegQueryValueExW Api设置条件断点:

bu kernel32!RegQueryValueExW "r $t1=poi(esp+8);.echo ---------------------------------------------------------------;.block{.if(@$t1!=0){r $t2=poi(esp+0x14);as /mu $vn $t1;.printf \"ValueName:%mu\",$t1;.echo ;al;.if($spat(\"${$vn} \",\"Load*\")){.echo 找到数据;.al $vn;!handle poi(esp+4) f;ad ${/v:$vn};}.else{.echo 没找到数据;ad ${/v:$vn};gc;}}.else{gc;}}"

以上命令的本意是想让程序在执行RegQueryValueExW系统调用时,当读取的注册表值的名称中以"Load"开头时断下,读取其它值名称时跳过。然后当读取到一个注册表的值为"LoadAppInit_DLLs"时,并未打印出“找到数据”的提示,不知道错在哪里,求帮助,谢谢。(我参考过:http://advdbg.org/forums/4279/PrintPost.aspx,可还是不知道错哪了,觉得本人有些愚钝,汗。。。)

有图有真像,我将调试的结果抓图做为附件上传到论坛了。

 


IP 地址: 已记录   报告
   2012-09-17, 11:26 上午
cym_zl@yeah.net 离线,最后访问时间: 2019/4/9 9:00:05 cym_zl@yeah.net

发帖数前100位
注册: 2010-11-14
发 贴: 12
Re: 奇怪的字符串比较命令$spat
Reply Quote

附件中的图片无法查看,请点击如下链接查看:http://www.triplabel.com/images/Qcmdspat.jpg


IP 地址: 已记录   报告
   2012-09-17, 11:46 上午
cym_zl@yeah.net 离线,最后访问时间: 2019/4/9 9:00:05 cym_zl@yeah.net

发帖数前100位
注册: 2010-11-14
发 贴: 12
Re: 奇怪的字符串比较命令$spat
Reply Quote

附件中的图片无法查看,请点击如下链接查看:http://www.triplabel.com/images/Qcmdspat.jpg


IP 地址: 已记录   报告
高端调试 » 软件调试 » WinDbg » 奇怪的字符串比较命令$spat

 
Legal Notice Privacy Statement Corporate Governance Corporate Governance
(C)2004-2020 ADVDBG.ORG All Rights Reserved.